/*
 * Created on Jan 2, 2004
 */
package com.unash.z3950.pdu;

/**
 * 
 * @author Ashwini Gokhale
 */

public interface Z3950Tags {
	int INIT_REQUEST                 = 20;
	int INIT_RESPONSE                = 21;
	int SEARCH_REQUEST			     = 22;
	int SEARCH_RESPONSE			     = 23;
	int PRESENT_REQUEST              = 24;
	int PRESENT_RESPONSE             = 25;
	
	int REFERENCE_ID                 = 2;
	int OTHER_INFORMATION            = 201;
	
	//Init
	int PROTOCOL_VERSION             = 3;
	int OPTIONS                      = 4;
	int PREFERRED_MESSAGE_SIZE       = 5;
	int EXCEPTIONAL_RECORD_SIZE      = 6;
	int ID_AUTHENTICATION            = 7;
	int IMPLEMENTATION_ID            = 110;
	int IMPLEMENTATION_NAME          = 111;
	int IMPLEMENTATION_VERSION       = 112;
	int USER_INFORMATION             = 11;
	int RESULT                       = 12;
	
	//Search
	int SMALL_SET_UPPER_BOUND        = 13;
	int LARGE_SET_LOWER_BOUND        = 14;
	int MEDIUM_SET_PRESENT_NUMBER    = 15;
	int REPLACE_INDICATOR            = 16;
	int RESULT_SET_NAME              = 17;
	int DATABASE_NAMES               = 18;
	int DATABASE_NAME                = 105;
	//Database name specific
	int GENERIC_ELEMENT_SET_NAME     = 0;
	int DATABASE_SPECIFIC            = 1;
	
	int ELEMENT_SET_NAME             = 103;
	
	
	int SMALL_SET_ELEMENT_SET_NAMES  = 100;
	int MEDIUM_SET_ELEMENT_SET_NAMES = 101;
	int PREFERRED_RECORD_SYNTAX      = 104;
	
	int QUERY                        = 21;
	//Query Specific
	int TYPE_0						 = 0;
	int TYPE_1						 = 1;
	int TYPE_2						 = 2;
	int TYPE_100					 = 100;
	int TYPE_101					 = 101;
	int TYPE_102					 = 102;
		//RPN Structure in Query
	int OPERAND						 = 0;
	int RPN_RPN_OP					 = 1;
	int ATTRIBUTES_PLUS_TERM         = 102;
	int RESULT_SET_ID	             = 31;
	int RESULT_SET_PLUS_ATTRIBUTES   = 214;
	int ATTRIBUTE_LIST               = 44;
	int ATTRIBUTE_SET				 = 1;
	int ATTRIBUTE_TYPE				 = 120;
	int NUMERIC						 = 121;
	int COMPLEX						 = 224;
	int LIST						 = 1;
	int SEMANTIC_ACTION				 = 2;
	//STRINGORNUMERIC
	int STRING_OR_NUMERIC_STRING     = 1;
	int STRING_OR_NUMERIC_NUMERIC    = 2;
	
	//Term
	int TERM_GENERAL				 = 45;
	int TERM_NUMERIC				 = 215;
	int TERM_CHARACTER_STRING		 = 216;
	int TERM_OID                     = 217;
	int TERM_DATE_TIME               = 218;
	int TERM_EXTERNAL                = 219;
	int TERM_INTEGER_AND_UNIT        = 220;
	int INT_UNIT_VALUE               = 1;
	int INT_UNIT_UNIT_USED           = 2;
	int TERM_NULL                    = 221;
	
	int UNIT_SYSTEM                  = 1;
	int UNIT_TYPE                    = 2;
	int UNIT                         = 3;
	int SCALE_FACTOR                 = 4;
	
	int OPERATOR                     = 46;
	int OPERATOR_AND				 = 0;
	int OPERATOR_OR					 = 1;
	int OPERATOR_AND_NOT			 = 2;
	int OPERATOR_PROX 				 = 3;
	
	int EXCLUSION					 = 1;
	int DISTANCE					 = 2;
	int ORDERED					     = 3;
	int RELATION_TYPE				 = 4;
	int PROXIMITY_UNIT_CODE			 = 5;
	int KNOWN_PROXIMITY_UNIT		 = 1;
	int PROXIMITY_PRIVATE	         = 2;
	
	int ADDITIONAL_SEARCH_INFO       = 203;
	int RESULT_COUNT                 = 23;
	int NUMBER_OF_RECORDS_RETURNED   = 24;
	int NEXT_RESULT_SET_POSITION     = 25;
	int SEARCH_STATUS                = 22;
	int RESULT_SET_STATUS            = 26;
	int PRESENT_STATUS               = 27;
	//Records
	int NAME                         = 0;
	int RECORD                       = 1;
	int RETRIEVAL_RECORD             = 1;
	int RESPONSE_RECORDS             = 28;
	int NON_SURROGATE_DIAGNOSTIC     = 130;
	int MULTIPLE_NON_SUR_DIAGNOSTIC  = 205;
	
	int SURROGATE_DIAGNOSTIC         = 2;
	int STARTING_FRAGMENT            = 3;
	int INTERMEDIATE_FRAGMENT        = 4;
	int FINAL_FRAGMENT               = 5;
	
	//Present Request
	int RESULT_SET_START_POINT       = 30;
	int NUMBER_OF_RECORDS_REQUESTED  = 29;
	int ADDITIONAL_RANGES            = 212;
	//RECORD_COMPOSITION           
	int RECORD_COMPOSITION_SIMPLE    = 19;
	int RECORD_COMPOSITION_COMPLEX   = 209; 
	int MAX_SEGMENT_COUNT            = 204;
	int MAX_RECORD_SIZE              = 206;
	int MAX_SEGMENT_SIZE             = 207;
	
	int SELECT_ALTERNATIVE_SYNTAX    = 1;
	int GENERIC                      = 2;
	int DBSPECIFIC                   = 3;
	int RECORD_SYNTAX                = 4;
	int SCHEMA                       = 1;
	int ELEMENT_SPEC                 = 2;
	int SPEC_ELEMENT_SET_NAME        = 1;
	int SPEC_EXTERNAL_ESPEC          = 2;
	int COMP_SPEC_DB				 = 1;
	int COMP_SPEC_SPEC               = 2;
	
	int STARTING_POSITION            = 1;
	int NUMBER_OF_RECORDS            = 2;
	
}//Z3950Tags